package org.crystal.tradecraft.model.binance.market.filter;

import lombok.Data;
import lombok.EqualsAndHashCode;
import org.crystal.tradecraft.model.binance.enumeration.FilterType;

/**
 * <h3>此过滤器定义了参数trailingDelta的最大和最小值.</h3>
 * 下追踪止损订单;
 需要满足条件:<p>
 * 对于 STOP_LOSS BUY;
 STOP_LOSS_LIMIT_BUY;
 TAKE_PROFIT SELL 和 TAKE_PROFIT_LIMIT SELL 订单:<p>
 * <ul>
 *     <li>trailingDelta >= mIntegerrailingAboveDelta</li>
 *     <li>trailingDelta <= maxTrailingAboveDelta</li>
 * </ul>
 * 对于 STOP_LOSS SELL;
 STOP_LOSS_LIMIT SELL;
 TAKE_PROFIT BUY;
 和 TAKE_PROFIT_LIMIT BUY 订单:<p>
 * <ul>
 *     <li>trailingDelta >= mIntegerrailingBelowDelta</li>
 *     <li>trailingDelta <= maxTrailingBelowDelta</li>
 * </ul>
 */
@Data
@EqualsAndHashCode(callSuper = true)
public class TrailingDelta extends BinanceFilter {
    
    public TrailingDelta() {
        super(FilterType.TRAILING_DELTA);
    }

    private int minTrailingAboveDelta;

    private int maxTrailingAboveDelta;

    private int minTrailingBelowDelta;

    private int maxTrailingBelowDelta;
}
